﻿#define _CRT_SECURE_NO_WARNINGS 1 //禁用安全函数警告
#pragma warning(disable:6031) //警用 6031 的安全警告

//求n的阶乘
//#include <stdio.h>
//
//int Fact(int n)
//{
//	if (n == 0)
//		return 1;
//	else
//		return n * Fact(n - 1);
//}
//
//int main()
//{
//	int n;
//	while (scanf("%d", &n) != EOF)//按三次“Ctrl+z回车”循环结束
//	{
//		printf("%d\n", Fact(n));
//	}
//
//	return 0;
//}


//输⼊⼀个整数m，按照顺序打印整数的每⼀位
//#include <stdio.h>
//
//void Print(int n)
//{	
//	//if (n > 9)//不是个位数
//	//{
//	//	Print(n / 10);
//	//	printf("%d ", n % 10);
//	//}
//	//else //个位数
//	//	printf("%d ", n);//printf("%d ", n % 10);
//	//考虑到无论是不是个位数都要打印 n % 10 ，因此将这句话单独拿出来，会更简洁一点
//	if (n > 9)
//		Print(n / 10);
//	printf("%d ", n % 10);
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	Print(n);//Print函数用来打印n的每一位
//	
//	return 0;
//}


//#include <stdio.h>
//
//int Fact(int n)
//{
//	int i = 0;
//	int ret = 1;
//	for (i = 1;i <= n;i++)
//	{
//		ret *= i;
//	}
//	return ret;
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	printf("%d\n", Fact(n));
//
//	return 0;
//}


//斐波那契数
//递归 不推荐
//#include <stdio.h>
//
//int count = 0;
//
//int Fib(int n)
//{
//	if (n == 3)
//		count++;
//	if (n <= 2)
//		return 1;
//	else
//		return Fib(n - 1) + Fib(n - 2);
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fib(n);
//	printf("%d\n", ret);
//	printf("n==3运行了%d次", count);
//
//	return 0;
//}

//迭代 推荐
//#include <stdio.h>
//
//int Fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 0;
//	if (n <= 2)
//		return 1;
//	else
//	{
//		while (n - 2)
//		{
//			c = a + b;
//			a = b;
//			b = c;
//			n--;
//		}
//		return c;
//	}
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fib(n);
//	printf("%d\n", ret);
//
//	return 0;
//}

